package com.genesis.yunnanji.utils;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.support.v4.app.FragmentActivity;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;

import com.genesis.yunnanji.R;
import com.timmy.tdialog.TDialog;
import com.timmy.tdialog.base.BindViewHolder;
import com.timmy.tdialog.listener.OnBindViewListener;
import com.timmy.tdialog.listener.OnViewClickListener;

/**
 * 创建日期：2018/11/6 0006
 * 作者：Kite
 * 描述：
 */
public class DialogFragmentUtils {

    public static void initDialog(final Context context, final String phone) {
        new TDialog.Builder(((FragmentActivity) context).getSupportFragmentManager())
                .setLayoutRes(R.layout.layout_take_phone)    //设置弹窗展示的xml布局
//                .setDialogView(view)  //设置弹窗布局,直接传入View
//                .setWidth(LayoutParams.MATCH_PARENT)  //设置弹窗宽度(px)
//                .setHeight(LayoutParams.WRAP_CONTENT)  //设置弹窗高度(px)
                .setScreenWidthAspect(context, 1f)   //设置弹窗宽度(参数aspect为屏幕宽度比例 0 - 1f)
                .setScreenHeightAspect(context, 0f)  //设置弹窗高度(参数aspect为屏幕宽度比例 0 - 1f)
                .setGravity(Gravity.BOTTOM)     //设置弹窗展示位置
                .setDimAmount(0.6f)     //设置弹窗背景透明度(0-1f)
                .setCancelableOutside(true)     //弹窗在界面外是否可以点击取消
                .setDialogAnimationRes(android.R.style.Animation_InputMethod)  //设置弹窗动画
                .setOnDismissListener(new DialogInterface.OnDismissListener() { //弹窗隐藏时回调方法
                    @Override
                    public void onDismiss(DialogInterface dialog) {
                        dialog.dismiss();
                    }
                })
                .setOnBindViewListener(new OnBindViewListener() {
                    @Override
                    public void bindView(BindViewHolder viewHolder) {
                        Button button = viewHolder.getView(R.id.btn_phone);
                        button.setText("拨打：" + phone);
                    }
                })
                .addOnClickListener(R.id.btn_phone, R.id.btn_cancel)
                .setOnViewClickListener(new OnViewClickListener() {     //View控件点击事件回调
                    @Override
                    public void onViewClick(BindViewHolder viewHolder, View view, TDialog tDialog) {
                        switch (view.getId()) {
                            case R.id.btn_phone:
                                Intent intent = new Intent(Intent.ACTION_CALL);
                                Uri data = Uri.parse("tel:" + phone);
                                intent.setData(data);
                                context.startActivity(intent);
                                break;
                            case R.id.btn_cancel:
                                tDialog.dismiss();
                                break;
                        }
                        tDialog.dismiss();
                    }
                })
                .create()   //创建TDialog
                .show();    //展示
    }

}
